package com.holly.unit.gen.starter.engine;

import com.holly.unit.gen.starter.config.builder.ConfigBuilder;
import lombok.extern.slf4j.Slf4j;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

/**
 * 类描述: 模板引擎抽象类
 *
 * @author fxr
 * @version 1.0.0
 * @date 2022/1/18 17:30
 */
@Slf4j
public abstract class AbstractTemplateEngine {

    /**
     * 配置信息
     */
    protected ConfigBuilder configBuilder;

    /***
     * 生成代码的信息
     */
    protected List<String> genFileRes = new ArrayList<>();


    /**
     * 模板引擎初始化
     */
    public AbstractTemplateEngine init(List<File> templateRootDirs, String encode) {
        return this;
    }

    //1. 初始化模板引擎对象
    public AbstractTemplateEngine init(ConfigBuilder configBuilder) {
        this.configBuilder = configBuilder;
        return this;
    }


    //输出代码生成
    public AbstractTemplateEngine batchOutput(ConfigBuilder configBuilder){
        this.configBuilder = configBuilder;
        return this;
    }

}
